package com.sea.physical.service;


import com.sea.operate.entity.Related;
import com.sea.physical.entity.CreateSku;

import java.io.InputStream;
import java.util.List;

/**
 * 创建发运计划
 * @author 陈鸿飞
 */
public interface CreateSkuService {
    /**
     * 明细
     * @param createSupplierName
     * @return
     */
    List<CreateSku> findBySupplierQualityDetail(String createSupplierName);
    /**
     * 导入发运SKU
     * @param inputStream
     * @param fileName
     * @param createId
     * @throws Exception
     */
    void importSku(InputStream inputStream, String fileName, Integer createId) throws Exception;
    /**
     * 导入发运SKU
     * @param inputStream
     * @param fileName
     * @throws Exception
     */
    void importCreatePlan(InputStream inputStream, String fileName) throws Exception;
    /**
     * 导入发运SKU
     * @param inputStream
     * @param fileName
     * @throws Exception
     */
    void importCreateSku(InputStream inputStream, String fileName) throws Exception;

    /**
     * 新增
     * @param createSku
     * @return
     */
    int save(CreateSku createSku);
    /**
     * 查询指定
     * @param createId
     * @return
     */
    List<CreateSku> findByCreateId(Integer createId);

    /**
     * 删除指定
     * @param id
     * @return
     */
    int delete(Integer id,Integer createId);

    /**
     * 查询指定
     * @param id
     * @return
     */
    CreateSku findById(Integer id);
    /**
     * 导出发运计划明细
     * @param idList
     * @return
     */
    List<CreateSku> exportByCreateId(Integer[] idList);
    /**
     * 条件查询
     * @param channelName
     * @param createSku
     * @param createId
     * @return
     */
    CreateSku findBySkuChannel(String channelName,String createSku,Integer createId);
    /**
     * 更新
     * @param createSku
     * @return
     */
    int usave(CreateSku createSku);

    /**
     * 更新质检状态
     * @param id
     * @return
     */
    Integer updateQualityStatus(Integer id);
    /**
     * 根据供应商质检表头
     * @param createSku
     * @return
     */
    List<CreateSku> findBySupplierQuality(CreateSku createSku);

    List<CreateSku> getReport();

    List<CreateSku> findByShipmentIdByCreateId(Integer createId);

    List<CreateSku> exportDeclarationByCreateId(Integer createId);
}
